<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组类型</title>
    <script>
        function f1(){
            // 创建一个数组,该数组默认长度为0
            // 在JavaScript中,数组的长度是可变的
            // 当为数组中赋值的元素长度超过数组原有长度时
            // 会自动扩展数组的长度
            // 指定索引位置如果没有给数组的元素赋值
            // 则值为undefined
            let arr = new Array();
            console.log("当前数组长度:"+arr.length);
            // 当赋值第二个元素的值之后,则长度自动扩展
            // 此时的长度为2,第一个元素没赋值,则值为undefined
            arr[1] = 10;
            console.log("当前数组长度:"+arr.length);
            console.log(arr[0]+"--"+arr[1]);
        }
        function f2(){
            // 创建一个数组,为该数组指定初始长度
            // 此时所有元素的值均为未赋值状态
            let arr = new Array(5);
            console.log("当前数组长度:"+arr.length);
            // 当赋值第二个元素的值之后
            // 其长度没有超过初始长度,则数组长度没变
            arr[1] = 10;
            console.log("当前数组长度:"+arr.length);
            // 当赋值第七个元素的值之后
            // 其长度超过了原始长度,自动扩展长度
            arr[6] = 1;
            console.log("当前数组长度:"+arr.length);
        }
        function f3(){
            // 创建一个数组,为该数组指定初始元素值
            // 给几个元素,数组的长度就是几
            let arr = new Array("admin","alice","jack","lily");
            // 此时给了四个元素,则其长度为4
            // 且每一个元素均赋值了
            console.log("当前数组长度:"+arr.length);
            for(let i = 0; i < arr.length; i++){
                console.log("第"+(i+1)+"个元素的值为:"+arr[i]);
            }
            console.log("----------------------------");
            // 此时依然可以扩展数组长度
            arr[7] = "tom";
            for(let i = 0; i < arr.length; i++){
                console.log("第"+(i+1)+"个元素的值为:"+arr[i]);
            }
            console.log("当前数组长度:"+arr.length);
        }
        function f4(){
            // 可以使用[元素1,元素2...]进行定义
            // 该方式使用的是JSON语法
            // 该方式类似于new Array(元素1,元素2...)
            let arr = [1,2,3];
            console.log("当前数组长度:"+arr.length);
            for(let i = 0; i < arr.length; i++){
                console.log("第"+(i+1)+"个元素的值为:"+arr[i]);
            }
            console.log("----------------------------");
            // 此时依然可以扩展数组长度
            arr[7] = 8;
            for(let i = 0; i < arr.length; i++){
                console.log("第"+(i+1)+"个元素的值为:"+arr[i]);
            }
            console.log("当前数组长度:"+arr.length);
        }
    </script>
</head>
<body>
<button onclick="f1()">数组定义方式一</button><br/>
<button onclick="f2()">数组定义方式二</button><br/>
<button onclick="f3()">数组定义方式三</button><br/>
<button onclick="f4()">数组定义方式四</button><br/>

</body>
</html>